<h1>第三周和第四周</h1>

<h2>实现一个B/S结构的登录注册系统</h2>

<h3>实现方式二选一</h3>

<ul><li>利用JSP与Servlet</li><li>html、javaScript、json与Servlet实现</li></ul>

<h3>要求</h3>

<ul><li>注意项目的分包</li><li>数据持久化到数据库MySQL</li><li>数据输入需要验证（后台验证）</li></ul>

<h3>基本功能</h3>

<ul><li>登录</li><li>注册</li><li>修改密码</li><li>忘记密码</li><li>一个用户登陆，已登陆的相同用户会登出</li><li>登录成功跳转到首页，首页要有登录用户的信息</li><li>图片验证码，验证码点击刷新</li></ul>

<h3>进阶功能</h3>

<ul><li>进行异常错误处理</li><li>密码加密</li><li>滑块验证码（谨慎选择）</li><li>前端js验证输入</li><li>注册使用验证手机号进行注册</li><li>正则表达式验证输入信息</li><li>监听在线人数</li><li>增添管理员角色，可查看所有已注册用户的个人信息</li><li>管理员查看用户信息分页展示</li></ul>

<h3>项目分包</h3>

<ul><li>com.yourname.model（与数据库表一一对应的实体类）</li><li>com.yourname.util（工具类）</li><li>com.yourname.dao（放置数据库或文件读写相关的接口）</li><li>com.yourname.dao.impl （放置数据库或文件读写相关的接口实现类）</li><li>com.yourname.service（放置逻辑处理的接口）</li><li>com.yourname.service.impl（放置逻辑处理的接口实现类）</li><li>com.yourname.controller（放置与控制器servlet相关的代码，请求响应处理以及控制跳转）</li></ul>

<h3>涉及知识点</h3>

<ul><li>javaScript</li><li>HTML、Css</li><li>java基础</li><li>mysql(建库表，主外键，图形界面可使用SQLyog)</li><li>jsp(EL表达式、Jsp九大内置对象、JSTL表达式(起码会if,when,foreach))</li><li>JDBC(增删查改)</li><li>servlet(MVC模式、Session与cookie、get与post请求、Servlet容器)</li></ul>

<h3>学习方式</h3>

<ul><li>网上视频或其他资料</li><li>&lt;&lt;JSP&amp;Servlet学习笔记&gt;&gt;</li><li>搜索引擎(推荐自己搭ss服务器访问google)</li><li>StackOverFlow</li></ul>

<h3>截止时间</h3>

<ul><li>4月20日  23:00</li></ul>

<h3>作业提交格式</h3>

<ul><li><p>每周的报告+项目文件夹+导出的数据库的sql文件打包（按照示例文件结构）发送至邮箱：184417610@qq.com</p></li><li><p>压缩包解压后文件夹目录示例：</p></li></ul>

<p><img alt="image" src="https://note.youdao.com/yws/api/personal/file/E8F3B676C71B49FD9BC3FEF41A56D8D5?method=download&amp;shareKey=ed87437d8cc36fb1433d6c10e29cd9a8"/>
<img alt="image" src="https://note.youdao.com/yws/api/personal/file/10425FE4FA9B46F7A0F8B6641954EC55?method=download&amp;shareKey=7c42ce6e71f6c122723ca8ff6a3a4aad"/></p>